草庐IT

VBScript 条件语句

全部标签

c# - 如何检查是否安装了 Oracle Client 作为组件安装的先决条件

我正在为我们的组件创建安装包。Pr-requisites之一是应在目标机器上安装最低版本8i的oracle客户端。我该怎么做?我在下面提到了帖子What'sthebestwaytodeterminewhichversionofOracleclientI'mrunning?有了这个,我写了下面的Action。我尝试使用tnsping实用程序进行检查。stringresult=string.Empty;System.Diagnostics.ProcessStartInfoproces=newSystem.Diagnostics.ProcessStartInfo("tnsping.exe")

windows - 用 Findstr 替换 Awk 语句

我正在尝试弄清楚如何使用findstr以便它可以执行与awk中的这一行相同的操作:wk.exe"begin{temp=0}/^stringMarker/{temp=1}{if(temp==1)print$0}"%TEMP%\input.txt>%TEMP%\output.txt这就是我现在能想到的:@ECHOOFFfindstr/b/c:"Hello"Hello.bat>nuliferrorlevel1(echoSearchFailed)else(echoSearchSucessful)如您所见,后半部分代码丢失了。我需要帮助来了解如何获取stringMarker之后的行,然后能够将它

windows - VBScript - 相对路径不起作用

我正在尝试使用相对路径从VBscript引用名为wsusscn2.cab的cab文件。由于某种原因,它不起作用。wsusscn2.cab与脚本位于同一目录中。根据我读过的文档,这应该有效,但没有:SetUpdateSession=CreateObject("Microsoft.Update.Session")SetUpdateServiceManager=CreateObject("Microsoft.Update.ServiceManager")SetUpdateService=UpdateServiceManager.AddScanPackageService("OfflineSy

c# - 条件编译和框架目标

如果目标框架是较新的版本,我的项目的代码可能会在一些小地方得到显着改进。我希望能够更好地利用C#中的条件编译来根据需要切换它们。类似于:#ifNET40usingFooXX=Foo40;#elifNET35usingFooXX=Foo35;#elseNET20usingFooXX=Foo20;#endif这些符号中的任何一个都是免费的吗?我是否需要将这些符号作为项目配置的一部分注入(inject)?这似乎很容易做到,因为我会知道MSBuild的目标是哪个框架。/p:DefineConstants="NET40"人们如何处理这种情况?您要创建不同的配置吗?您是否通过命令行传递常量?

windows - 是否可以将断点条件设置为 "break when called by another thread"?

我正在调查一个可能由多线程引起的问题。数据不断被一个线程读取,我想看看它是否被另一个线程读取。我可以设置断点并按住F5并检查它是否在另一个线程中中断,但这有点烦人。是否可以将断点条件设置为“被另一个线程调用时中断”? 最佳答案 您可以设置一个过滤器(参见UsingBreakpoints)。例如,可以在ThreadId上设置过滤器。要设置过滤器,请右键单击断点,选择Conditions...,然后输入ThreadId!=作为过滤器表达式。确保表达式中没有任何空白字符。否则,您将收到一条不太有用的错误消息。

c++ - VBScript 和 C++ 之间 wuapi 的无法解释的差异

当尝试使用wuapi查询Windows7EnterpriseSP1更新时,附加的VBScript示例返回的结果与附加的C++示例不同。VBScript包括MicrosoftOffice的更新,这正是我想要的。在我的研究过程中,我发现了IUpdateSearcher3接口(interface),它公开了SearchScope,这似乎是我需要使用的。但是,我在创建界面时遇到困难。我的问题是,为什么两个版本的结果不同,以及如何使C++版本包含Office检查以与VBScript版本保持一致?附上示例代码和输出。请注意,C++版本不包括来自VBScript输出的Office更新:50>Secu

vbscript - VB 脚本的等效 %username%

我想从当前用户的计算机中删除OfficeFileCache文件夹。目前我有..OptionExplicitDimobj:Setobj=CreateObject("wscript.shell")Dimfso:Setfso=CreateObject("scripting.FileSystemObject")obj.Run"taskkill/f/immsouc.exe.exe",0obj.Run"taskkill/f/immsosync.exe.exe",0fso.DeleteFolder"C:\Users\%username%\AppData\Local\Microsoft\Office\

windows - "findstr"在 VBScript 中总是返回失败

上下文我正在尝试为自己编写一个脚本,根据条件切换我的WLAN适配器(启用/禁用它)。如果适配器当前已启用,则脚本应禁用它,或者相反,如果当前已禁用,则启用它。这是我到目前为止想出的:SetWshShell=WScript.CreateObject("WScript.Shell")WshShell.Run"%comspec%/CdevconstatusPCI\VEN_168C>C:\devstat.txt",0,falseReturn=WshShell.Run("findstrdisabledC:\devstat.txt",0,true)WScript.EchoReturnIfRetur

windows - 谁能解释为什么 cout 之后的语句会改变输出?

最奇怪的事情正在发生。在下面的程序中,我正在打印一行。按原样,程序输出以下内容:-----FOCUS-----:0x22fc80:但是,如果我在cout之后注释掉7个语句中的任何一个,我会得到以下结果:-----FOCUS-----:0:我包含了tchar.h、windows.h、iostream和Psapi.h。我正在使用MinGW-64,编译命令是:"C:\MinGW64\bin\g++.exe"-oMyProgram.exeMyProgram.cpp-lpsapi程序是:intmain(){HWNDfocusThreadWnd=GetForegroundWindow();DWOR

windows - 在 if 语句中使用多个操作时遇到问题

每次我使用多个Action进行编码时,它不会产生和输出并且代码根本不起作用,直到我单独给它一个Action而不是三个Action,我不知道它有什么问题,我试图将这段代码放在if语句中和/或在按下保存按钮时将其单独作为一个Action这里是代码\顺便说一句,我使用的是visualstudio2012PrivateSubbtnSave_Click(senderAsObject,eAsEventArgs)HandlesbtnSave.ClickDimPath1AsString="Backups\"DimPath2AsString=rtbTitle.Text+"\"DimFullPathAsS